import book.BookList;
import user.AdminUser;
import user.NormalUser;
import user.User;

import java.util.Scanner;

public class Main {

    public static User login(){
        System.out.println("请输入姓名：");
        Scanner scan = new Scanner(System.in);
        String name = scan.nextLine();
        System.out.println("请输入你的身份：1-》管理员，0-》普通用户");
        int choice = scan.nextByte();
        if (choice == 1){
           return new AdminUser(name);
        }else {
           return new NormalUser(name);
        }
    }

    public static void main(String[] args) {
//准备好了书，拿来用
        BookList bookList = new BookList();
       User user = login();//user 到底引用哪个对象  需要看输入的什么

        while (true) {
/**
 * user.menu() 作用
 * 1、向上转型
 *2、子类重写父类方法
 * 3、父类引用调用这个重写方法
 * 多态
 */
            int choice = user.menu();
            //user 引用哪个对象？
            //选择1之后，调用的是user引用的对象的具体操作，这个怎么做???
/**
 * 注意：
 */
            user.doOperation(choice,bookList);
        }
                //父类引用  引用子类对象  子类对象里面有菜单menu   问题是User没有  所以我们要把menu放入User
    }
}
